#ifndef POINTDEVICE_H
#define POINTDEVICE_H

#include "BaseDevice.h"
#include "Protocol/PointProtocol.h"

#include "Command/PointProtocol/ControlPointCmd.h"
#include "Command/PointProtocol/UdpPointSetSwitchCmd.h"
#include "Command/PointProtocol/WinSetZigbeeParamCmd.h"
#include "File/Xml/SavePointXml.h"
#include "Function/ControlPointFunc.h"
#include "File/Xml/OtherEquipmentXml.h"
class PointDevice : public BaseInterface<PointDevice>
{
    Q_OBJECT
public:
    Q_INVOKABLE explicit PointDevice(QObject *parent = 0);
    void senddata(QByteArray data);
    bool Function(QList<PointSwitchUdpStruct> list,quint16 addr,quint16 value);
private:
    PointProtocol *pointProtocol;

    QTimer *DelaySendTimer;
    void controlPointCmdHandle(PortStruct source,QSharedPointer<BaseCmd> sharedCmd);
    void controlPointFuncHandle(QSharedPointer<BaseFunc> sharedFunc);
private slots:
    void DelaySendSlot();
};

#endif // POINTDEVICE_H
